package com.ruoyi.bussiness.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 业务-清单格对象 sys_business_check_list
 *
 * @author ruoyi
 * @date 2024-01-11
 */
@Data
public class SysBusinessCheckList extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 清单主键 */
    private Long checkListId;

    /** 桥梁编号 */
    @Excel(name = "桥梁编号")
    private String bridgeNum;

    /** 桥梁别名 */
    @Excel(name = "桥梁别名")
    private String bridgeAlias;

    /** 桥梁名称 */
    @Excel(name = "桥梁名称")
    private String bridgeName;

    @Excel(name = "桥梁名称")
    private String bridgePlaceName;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal lng;

    /** 维度 */
    @Excel(name = "维度")
    private BigDecimal lat;

    /** 省 */
    @Excel(name = "省")
    private String province;

    /** 市 */
    @Excel(name = "市")
    private String city;

    /** 乡/行政区 */
    @Excel(name = "乡/行政区")
    private String county;

    /** 桥梁类型 */
    @Excel(name = "桥梁类型")
    private String bridgeType;

    /** 桥梁位置 */
    @Excel(name = "桥梁位置")
    private String address;

    /** 跨越障碍类型 */
    @Excel(name = "跨越障碍类型")
    private String obstacleType;

    /** 营建年代 */
    @Excel(name = "营建年代")
    private String constructYear;

    /** 硬件年代补充说明 */
    @Excel(name = "硬件年代补充说明")
    private String constructYearTxt;

    /** 消失年代 */
    @Excel(name = "消失年代")
    private String disappearYear;

    /** 消失年代补充说明 */
    @Excel(name = "消失年代补充说明")
    private String disappearYearTxt;

    /** 桥梁状态 */
    @Excel(name = "桥梁状态")
    private String bridgeStatus;

    /** 桥梁年代 */
    @Excel(name = "桥梁年代")
    private String bridgeAge;

    /** 桥梁说明 */
    @Excel(name = "桥梁说明")
    private String bridgeDesc;

    /** 文献名称 */
    @Excel(name = "文献名称")
    private String documentName;

    /** 文献描述 */
    @Excel(name = "文献描述")
    private String documentDesc;

    /** 文献记录人 */
    @Excel(name = "文献记录人")
    private String documentCreateBy;

    /** 文献记录日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "文献记录日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date documentCreateTime;

    /** 内容 */
    @Excel(name = "内容")
    private String bridgeContent;

    /** 状态（0草稿 1已发 2已撤） */
    @Excel(name = "状态", readConverterExp = "0=草稿,1=已发,2=已撤")
    private String status;

    /** 桥梁走向 */
    @Excel(name = "桥梁走向")
    private String bridgeDirection;

    /** 保护级别 */
    @Excel(name = "保护级别")
    private String protectionLevel;

    /** 所有权人 */
    @Excel(name = "所有权人")
    private String owner;

    /** 管理使用着(行政主管单位) */
    @Excel(name = "管理使用着(行政主管单位)")
    private String manageUser;

    /** 现状用途 */
    @Excel(name = "现状用途")
    private String currentUse;

    /** 保存状况 */
    @Excel(name = "保存状况")
    private String saveStatus;

    /** 维修年代(朝代和年代) */
    @Excel(name = "维修年代(朝代和年代)")
    private String repairYear;

    /** 材质：下拉菜单（石、木、索、其他） */
    @Excel(name = "材质：下拉菜单", readConverterExp = "石=、木、索、其他")
    private String material;

    /** 古代桥梁类型下拉菜单（梁桥、拱桥、闸桥、近代桥梁、其他） */
    @Excel(name = "古代桥梁类型下拉菜单", readConverterExp = "梁=桥、拱桥、闸桥、近代桥梁、其他")
    private String oldBridgeType;

    /** 桥梁全长 */
    @Excel(name = "桥梁全长")
    private String bridgeLength;

    /** 桥梁中宽 */
    @Excel(name = "桥梁中宽")
    private String bridgeWidth;

    /**桥梁高度**/
    private String bridgeHeight;

    /** 桥梁净跨 */
    @Excel(name = "桥梁净跨")
    private String bridgeSpan;

    /** 桥梁孔数 */
    @Excel(name = "桥梁孔数")
    private Integer bridgeHoles;

    /** 拱碹类型：下拉菜单（半圆拱、圆弧拱、蛋圆拱） */
    @Excel(name = "拱碹类型：下拉菜单", readConverterExp = "半=圆拱、圆弧拱、蛋圆拱")
    private String archType;

    /** 拱碹排列方式下拉菜单（纵联、并排、乱石、无） */
    @Excel(name = "拱碹排列方式下拉菜单", readConverterExp = "纵=联、并排、乱石、无")
    private String archArrange;

    /** 桥台类型：下拉菜单（平齐型、雁翅型、突出型、其他） */
    @Excel(name = "桥台类型：下拉菜单", readConverterExp = "平=齐型、雁翅型、突出型、其他")
    private String abutmentType;

    /** 分水：下拉菜单（单尖式船形墩、双尖式船形墩、矩形墩、无、不详、其他） */
    @Excel(name = "分水：下拉菜单", readConverterExp = "单=尖式船形墩、双尖式船形墩、矩形墩、无、不详、其他")
    private String divideWater;

    /** 标志碑与说明碑 */
    @Excel(name = "标志碑与说明碑")
    private String signsAndMonuments;

    /** 标志碑与说明碑得图片说明 */
    private String signsAndMonumentsFiles;

    /** 起点连接道路 */
    @Excel(name = "起点连接道路")
    private String startConnectRoad;

    /** 终点链接道路 */
    @Excel(name = "终点链接道路")
    private String endConnectRoad;

    /** 所在环路位置下拉菜单（二环以内、二环与三环之间、三环与四环之间、四环与五环之间、五环之外） */
    @Excel(name = "所在环路位置下拉菜单", readConverterExp = "二=环以内、二环与三环之间、三环与四环之间、四环与五环之间、五环之外")
    private String loopLocation;

    /** 桥梁面积 */
    @Excel(name = "桥梁面积")
    private String bridgeArea;

    /** 结构形式 下拉菜单（刚构、拱、桁架、梁、其他、空白） */
    @Excel(name = "结构形式 下拉菜单", readConverterExp = "刚=构、拱、桁架、梁、其他、空白")
    private String structType;

    /** 设计载荷 城-A、城-B、汽-6、汽-8、汽-10、汽-13、汽-15、汽-18、汽-20、汽-26、汽超-20、公路- I、公路-II、空白 */
    @Excel(name = "设计载荷 城-A、城-B、汽-6、汽-8、汽-10、汽-13、汽-15、汽-18、汽-20、汽-26、汽超-20、公路- I、公路-II、空白")
    private String designLoad;

    /**天桥类型**/
    private String overpassType;

    /** 养护单位  城养中心、公联公司、华北高速公司、机场高速公司、首创公司、首发公司 */
    @Excel(name = "养护单位  城养中心、公联公司、华北高速公司、机场高速公司、首创公司、首发公司")
    private String maintUnit;

    /** 穿越道路或者地物名称 */
    @Excel(name = "穿越道路或者地物名称")
    private String crossingRoads;

    /** 有无照明 */
    @Excel(name = "有无照明")
    private String isLighting;

    /** 是否置顶（0否 1是） */
    @Excel(name = "是否置顶", readConverterExp = "0=否,1=是")
    private String isTop;

    /** 是否置底（0否 1是） */
    @Excel(name = "是否置底", readConverterExp = "0=否,1=是")
    private String isBottom;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Integer orderNum;

    /** 桥梁附件 */
    @Excel(name = "桥梁附件")
    private String bridgeFiles;

    /**移动类型 1-上移 2-下移 **/
    private  String moveType;

    /**移动类型 1-置顶 2-置底 **/
    private String pinType;

    /**所在河道**/
    private String riverChannel;

    /**栏板**/
    private String sidePanel;

    /**区位**/
    private String regionalLocation;

    /**保护状况**/
    private String preservationStatus;

    /**破坏现象**/
    private String signsDamage;

    /**位置**/
    private String position;

    /**河流**/
    private String river;

    /**相关阅读的ID**/
    private List<Long> relatedReadList;

    /**相关资源的ID**/
    private List<SysListRelatedResource> relatedResourceList;

}
